<?php

/*
 * контроллер реализует поиск юзеров по имени/возрасту и полу
 */

class Control_SearchAction extends Control_Action {

    public function setArgs($args = null) {
        if (null != $args) {
            $this->args = $args;
        }
        return $this;
    }

    public function setView($view) {
        if (null != $view) {
            $this->view = $view;
        }
        return $this;
    }

    public function run() {
        $t = Model_File::getSTime();
        $this->args = Control_Validator::searchValid($this->args);                                      //TODO переделать подсчет страниц через $_SESSION
        if ($this->args['page'] == 'control') {
            $_SESSION['searchProperties'] = $this->args;                                                // сохраняем параментры поиска
            $_SESSION['allUsers'] = Model_UserMapper::getAllUsers($this->args);                         // получаем количество юзеров подходящих по этому запросу поиска
            unset($_SESSION['searchProperties']['page']);
            $this->view->paginator[1] = Model_UserMapper::getTenUsersBy($this->args);                   //выбираем 10 юзеров подходящих по параметрам поиска
        }else{
            $_SESSION['searchProperties']['page'] = $this->args['page'];                                // переназначаем параметр страницы
            $this->view->paginator[1] = Model_UserMapper::getTenUsersBy($_SESSION['searchProperties']); //выбираем 10 юзеров подходящих по параметрам поиска
        }
        $this->view->paginator[0] = Model_Paginator::howManyPages($_SESSION['allUsers'], 10);           //отображаем количество страниц со всеми юзерами
        $this->view->setInnerTemplate('searchpage');
        $_SESSION['time'] = Model_File::getTime($t);
        $_SESSION['memory'] = memory_get_usage();
    }

}